// 全局操作函数
(function() {
  // 返回错误信息
  global.returnErrorBody = errMsg => {
    return {
      type: 'error',
      toString: errMsg || '未知错误'
    };
  };
  global.co = require('co'); // co
  // request body 解析工具
  global.parse = require('co-body');
  // 时间操作工具
  global.moment = require('moment')();
  // fetch工具
  global.fetch = require('node-fetch');
  // json转x-www-form-urlencoded
  global.jsonTOurlencoded = function(json) {
    var str = '';
    // 很原始的方法，仅转换了1级json
    for (key in json) {
      // 如果元素是一个方法，则跳过
      if (json[key] instanceof Function) {
        continue;
      };
      str += key + '=' + json[key] + '&';
    };
    return str;
  };
  // 检验json长度,1级json
  global.checkJsonLength = (json, len) => {
    var _key;
    var length = 0;
    for (key in json) {
      length == 0 ? _key = key : false;
      length++;
    };
    if (len) {
      len <= length ? delete json[_key] : false;
      return json;
    } else {
      return length;
    };
  };

  // bmob
  global.bmob = require('./Bmob.t');
  // qiniu
  require('./qiniu.t');
  global.$ = require('./_$.t');
  require('./_Console.t');
}());
